Improve desktop answer popup UX#286
Conversation
The golden retrieval set was 100% lexical fast-path (embedding_skipped_rate=1.0), so it could not measure whether a re-index changes vector/embedding retrieval quality. - forceEmbedding option on searchChunksWithTelemetry (SearchChunksArgs): bypasses every lexical text-fast-path so retrieval always exercises the embedding/vector stage. Diagnostic/eval-only; folded into the search cache key; never set on production paths. - eval-retrieval.ts: per-case `forceEmbedding` field + a global `--force-embedding` flag. - 10 `vector-*` cases (psychiatric monographs: PTSD, OCD, panic, anorexia, GAD, Tourette, postnatal, bipolar, ADHD, opioid) with forceEmbedding=true. Each is a clinical query that must be answered by vector retrieval of the right monograph — verified live at document_recall@5=1.0, content_recall@5=1.0, all via strategy=hybrid (embedding used). Rationale: forcing embedding is the correct instrument for re-index measurement — you want to measure the vector index directly, not have a lexical shortcut mask a regression. Wording alone can't reliably force the vector path (the fast-path is driven by emergent lexical-match strength), so the flag makes these probes deterministic. Live golden eval: 34/34 pass (24 existing + 10 new), no regression. verify:cheap green (980). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Wire forceEmbedding through eval runners and retrieval cache keys, bypass coverage/lexical shortcuts when forced, and add golden-case failure metrics so vector regressions cannot hide behind text-fast-path or cache hits.
…board Delete post-extraction dead code left in the monolith and trim unused imports. Also fix minor lint issues in favourites-hub, visual-evidence, and services-navigator.
…-5c94 fix: complete public production access hardening for mobile and anonymous users
…ned evidence modal entrance.
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Organizing open PRs (Jul 6): Retargeted base from closed #282 to \main. Branch needs rebase onto current main before merge. |
5bc1636 to
5e3735d
Compare
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
Integrate main public API access, rate limiting, auth patterns, and retrieval owner sentinel while preserving PR #286 desktop answer popup UX. Includes Supabase drop-before-recreate fix for match_document_chunks_text in migration 20260705210000. Co-authored-by: BigSimmo <BigSimmo@users.noreply.github.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
Bugbot Autofix prepared fixes for both issues found in the latest run.
- ✅ Fixed: Mobile follow-ups no longer shown
- Restored composerFollowUpSuggestions, onPickComposerFollowUpSuggestion, and composerFollowUpSuggestionsDisabled props on MasterSearchHeader so mobile follow-up chips render in the phone footer dock again.
- ✅ Fixed: Escape does not restore anchor focus
- Added requestAnimationFrame focus restoration to the source preview popover's capture-phase Escape handler so focus returns to the source capsule after dismiss.
You can send follow-ups to the cloud agent here.
Reviewed by Cursor Bugbot for commit a017402. Configure here.
- Re-wire composerFollowUpSuggestions props to MasterSearchHeader so mobile answer follow-up chips render in the phone footer dock again. - Restore anchor focus after Escape dismisses the desktop source preview popover, matching sheet behavior and Playwright expectations.
|
@copilot resolve the merge conflicts in this pull request |
1 similar comment
|
@copilot resolve the merge conflicts in this pull request |
…-popups-3035 # Conflicts: # src/components/applications-launcher-page.tsx
Done. Merged |
Already resolved in the previous request - merge commit |
Defer focus restoration until after the scope popover unmounts, and use double requestAnimationFrame in dismissable layers so Escape reliably returns focus to the answer options trigger.

Summary
Redesigns desktop answer popups: anchored source preview popover (no layout reflow) and refined evidence review modal entrance.
Changes
SourcePreviewPopover— portaled, anchor-positioned, Escape/outside dismiss, focus return, chevron rotationsm:max-w-3xl, stronger backdrop,dialog-riseanimationsm:bg-black/50backdrop on desktop (follow-up commit)#answer-evidence-drawer<details>fallback fromopenEvidenceDrawer()(follow-up commit)role="dialog"; desktop Escape + toggle dismissCommits
dc3a15430— core popup UX (popover, sheet animation, mockup, tests)5e3735dce— polish clinical/safety sheets + drawer fallback cleanup (2 files only)Verification
Preview
/mockups/answer-evidence-popups